Storage area networks, also known as SANs, facilitate sharing of storage devices with one or more different host server computer systems and applications. Fibre channel switches (FCSs) can connect host servers with storage devices creating a high speed switching fabric. Requests to access data pass over this switching fabric and onto the correct storage devices through logic built into the FCS devices. Host servers connected to the switching fabric can quickly and efficiently share blocks of data stored on the various storage devices connected to the switching fabric.
Storage devices can share their storage resources over the switching fabric using several different techniques. For example, storage resources can be shared using storage controllers that perform storage virtualization. This technique can make one or more physical storage devices, such as disks, which comprise a number of logical units (sometimes referred to as “physical LUNs”) appear as a single virtual logical unit or multiple virtual logical units, also known as VLUNs. By hiding the details of the numerous physical storage devices, a storage virtualization system having one or more such controllers advantageously simplifies storage management between a host and the storage devices. In particular, the technique enables centralized management and maintenance of the storage devices without involvement from the host server.
In many instances it is advantageous to place the storage virtualization controller(s) in the middle of the fabric, with the host servers and controllers arranged at the outer edges of the fabric. Such an arrangement is generally referred to as a symmetric, in-band, or in-the-data-path configuration. As storage area networks grow additional ports on the storage area controller and switching fabric are needed to connect additional hosts and storage devices into the network. More ports on the storage controller are also required to handle increasing per-port performance requirements. For example, current SANs provide 6,000 ports with a 3:1 fan in/out ratio measure of performance. Assuming the same 3:1 performance, increasing the SAN size by ten-fold to 60,000 ports would require the storage controller device in the SAN to provide over 20,000 ports in the chassis. Even if per-port performance could be increased to a 6:1 fan in/out ratio, the storage controller device would still be required to provide over 10,000 ports.
Indeed, increasing the size of the storage controller to hold thousands of ports also has drawbacks. Growing customers may not want the added expense of purchasing storage controllers with empty slots to accommodate projected growth and expansion. By the time the company requires the additional ports, advances in technology and manufacturing may render the technology required for the added slots functionally or economically obsolete. Adding ports to a large but older storage controller chassis may be more expensive than buying newer, denser and more reliable storage controller technology. Further, once the larger storage controller is filled then customers must once again face the dilemma of purchasing yet another storage controller chassis and ports. These large storage controllers are not only expensive but cumbersome to manufacture and install.
Even if it were feasible, larger storage controllers are more vulnerable to hardware or software failures. In a SAN, a single hardware or software failure that renders a physical device inoperable will impact the SAN performance. The significance of the failure may depend on the role of the physical device. For example, in the traditional replication of a storage controller instance failure of an original storage controller may lead to a performance degradation of as much as 50%; in most cases, this is an unacceptable impact on the SAN.
Current technique for adding another conventional storage controller may satisfy the increased demand for ports but at the expense of significantly increasing the complexity of managing the SAN. Each additional storage controller chassis and set of ports defines a separate island within the overall storage network. These islands have a separate storage pools and therefore cannot share the storage as readily as storage located on a single SAN.
Performance in the SAN would also most likely suffer when required port ratios in the storage controller described previously are exceeded. Typically performance degradation would create port congestion, over-subscription of resources and reduced input-output performance. The ability to address the increased port demand in the SAN is currently limited by the number of slots and line cards in a given storage controller chassis. Unfortunately, adding additional line cards and ports is not a simple task using conventional storage controller solutions as demonstrated above.
For these and other reasons, it is therefore desirable to improve the scalability, configurability and sizing of storage controllers as used in rapidly growing SANs.